As a company grows and increases its customer base as well as expands its offerings to its customer, more devices are needed to store and process the information needed to service those customers. These computers may be networked across many rooms in a single building, across multiple buildings on a corporate campus, or across multiple locations separated by hundreds of miles and only connected through commodity Internet connections.
The complexity of these networked systems increase dramatically as more and more devices are deployed to service those customers, as well as employees. In addition, the need to interconnect these systems and facilitate information exchange between them also increases. One method of exchanging information between these systems is to require an operator to positively launch processes on the systems in order to facilitate that information exchange. Another method is for those processes to be coded with access information within them. This access information may include just the network location of the second system, but in some cases may also include password information needed to authenticate the first system to the second system. However, in many cases the password information is embedded in the individual systems, or what is known as hard-coding. When the original developers of these systems leave the company, the information about those passwords may go with them, creating a situation where the systems are still able to operate, but no one remembers how.